#ifndef HPLC_QINFINE_DETETOR_PROTOCOL_H
#define HPLC_QINFINE_DETETOR_PROTOCOL_H

#include "common/protocolcommon.h"
#include "common/sendcommonsystempacket.h"
#include "detectorsendpacket.h"
#include "detectorsendsystempacket.h"
#include "modulehplcdetectordefine.h"

namespace hplc
{
namespace qinfine
{

class DetectorProtocolData;
class DetectorProtocol : public hplc::qinfine::ProtocolCommon
{
    Q_OBJECT
public:
    DetectorProtocol(DetectorParam &param, QObject *parent = nullptr);
    virtual ~DetectorProtocol();

    virtual bool setProtocolCmd(int id, QVariant &var) override;
    virtual bool getProtocolCmd(int id, QVariant &var) override;

    DetectorSendPacket *getDetectorSender();
    DetectorSendSystemPacket *getDetectorSystemSender();

protected:
    virtual void setModel(quint8 model) override;

    DetectorProtocol(DetectorProtocolData &data, DetectorParam &param, QObject *parent = nullptr);

private:
    hplc::DetectorParam			*m_param = nullptr;
};

} // qinfine
} // hplc

#endif // HPLC_QINFINE_DETETOR_PROTOCOL_H
